// pkgUser/components/myPostList/index.js
const app = getApp()
import { likeApi, cancelLikeApi, CollectApi, cancelCollectApi } from '../../../api/my.js'
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    item: {
      type: Object,
      default: () => { }
    },
    // 是否显示打赏以及状态
    isReward: {
      type: Boolean,
      default: false
    },

  },

  /**
   * 组件的初始数据
   */
  data: {

  },

  /**
   * 组件的方法列表
   */
  methods: {
    // 点赞
    async onLike(e) {
      if (!app.userId) return wx.utils.toast('登录才可以喔', 'error')
      const { status, likeCount } = this.data.item
      if (status === '0' || status === '4') return wx.utils.toast('未发布不可以喔')
      const { type, topicId } = e.mark
      if (type === '0') {
        await likeApi({ topicId, userId: app.userId })
        this.setData({ 'item.hasLike': '1', 'item.likeCount': +likeCount * 1 === likeCount ? +likeCount + 1 : likeCount })
        wx.utils.toast('点赞成功', 'success')
      } else {
        await cancelLikeApi({ topicId, userId: app.userId })
        this.setData({ 'item.hasLike': '0', 'item.likeCount': +likeCount * 1 === likeCount ? +likeCount - 1 : likeCount })
        wx.utils.toast('已取消', 'success')
      }
    },
    // 收藏
    async onCollect(e) {
      if (!app.userId) return wx.utils.toast('登录才可以喔', 'error')
      const { status, collectCount, content, file, title, video } = this.data.item
      if (status === '0' || status === '4') return wx.utils.toast('未发布不可以喔')
      const { type, topicId } = e.mark
      if (type === '0') {
        await CollectApi({
          topicId, userId: app.userId, content,
          file: file.length !== 0 ? file : video,
          title
        })
        this.setData({ 'item.hasCollect': '1', 'item.collectCount': +collectCount * 1 === collectCount ? +collectCount + 1 : collectCount })
        wx.utils.toast('收藏成功', 'success')
      } else {
        await cancelCollectApi({ topicId, userId: app.userId })
        this.setData({ 'item.hasCollect': '0', 'item.collectCount': +collectCount * 1 === collectCount ? +collectCount - 1 : collectCount })
        wx.utils.toast('已取消', 'success')
      }
    },
    // 打赏
    onReward() {
      const { status } = this.data.item
      if (status === '0' || status === '4') return wx.utils.toast('未发布不可以喔')
      wx.utils.toast('自己不能给自己打赏喔！')
    },
    // 跳转帖子详情
    toPostItemInfo(e) {
      const { status } = this.data.item
      if (status === '0' || status === '4') return wx.utils.toast('审核通过才可以看喔')
      wx.navigateTo({
        url: '/pkgPublish/pages/topicDetail/index?topicId=' + e.mark.topicId,
      })
    },


    // 跳转评论
    onComment(e) {
      const { status } = this.data.item
      if (status === '0' || status === '4') return wx.utils.toast('审核通过才可以看喔')
      wx.navigateTo({
        url: '/pkgPublish/pages/topicDetail/index?type=comment&topicId=' + e.mark.topicId,
      })
    }
  },

})
